Soru & Cevap

Android HomeScreen Kısayolu

05.05.2016 - 01:58

Merhaba Arkadaşlar,

Android'te HomeScreen'e yani ana ekran'a uygulama çalıştıktan sonra kısayolunu oluşturmak istiyorum.

libGDX ile oyun geliştirdiğim için android'in kütüphanelerine hakim değilim. Yardımcı olabilecek arkadaşlar varsa memnun olurum.

İyi çalışmalar. 

 

8 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user playablegraphs
playablegraphs
05.05.2016 - 02:05

 

Çözümü buldum

onCreate(){
ShortcutIcon();
}
private void ShortcutIcon(){

	    Intent shortcutIntent = new Intent(getApplicationContext(), AndroidLauncher.class); // Bu Parametreye Activity Adınızı yazmalısınız.
	    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

	    Intent addIntent = new Intent();
	    addIntent.putExtra("duplicate", false);
	    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
	    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Wayout Ball"); // Kısayol Adı
	    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
	    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
	    getApplicationContext().sendBroadcast(addIntent);

// Uygulamanın birden fazla oluşmasını önlemek için iki yol var.
//1
addIntent.putExtra("duplicate",false); // Bu kod satırı bunu yapıyor ama cache silindiğinde 2.bir kısayol oluşturabilir.

//2
intent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(intent);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(intent);
	  // Bu kod satırları kısayolu ilk önce siliyor sonra oluşturuyor.
	}
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

Bu kod blokları uygulama çalıştığında eğer uygulamanın kısayolu homescreen ekranın yoksa kısayol oluşturuyor.